package com.xhsj.user.hr.system.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhsj.user.hr.system.query.FindDemandApplyAllDataQuery;
import com.xhsj.user.hr.system.vo.ZhaopinDemandApplyAuditTaskVo;
import org.apache.ibatis.annotations.Mapper;
import com.xhsj.user.hr.system.entity.TbHrZhaopinDemandApply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.access.prepost.PreAuthorize;

import java.util.List;
/**
 * <p>
 * 招聘需求申请表 Mapper 接口
 * </p>
 *
 * @author suxiaolin
 * @since 2020-09-03
 */
@Mapper
public interface TbHrZhaopinDemandApplyMapper extends BaseMapper<TbHrZhaopinDemandApply> {

    // 查询招聘需求申请待审核任务
    IPage<ZhaopinDemandApplyAuditTaskVo> findZhaopinDemandApplyRunTask(Page<TbHrZhaopinDemandApply> page, @Param("userId") Long userId, @Param("roleIds") List<Long> roleIds);


    // 查询招聘需求申请的历史任务
    IPage<ZhaopinDemandApplyAuditTaskVo> findZhaopinDemandApplyHiTask(Page<TbHrZhaopinDemandApply> page, @Param("userId") Long userId);

    /**
     * 分页查询
     * @author 苏小林
     * @date 2020/9/7 11:17
     * @param: page
     * @param: userId
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.xhsj.user.hr.system.entity.TbHrZhaopinDemandApply>
     */
    IPage<TbHrZhaopinDemandApply> findDemandApplyList(Page<TbHrZhaopinDemandApply> page, @Param("userId") Long userId);

    /**
     * 查询所有数据
     * @author 苏小林
     * @date 2021/3/16 15:21
     * @param: page
     * @param: data
     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.xhsj.user.hr.system.entity.TbHrZhaopinDemandApply>
     */
    IPage<TbHrZhaopinDemandApply> findAllData(Page<TbHrZhaopinDemandApply> page, @Param("entity") FindDemandApplyAllDataQuery entity);

    void delById(@Param("dataId") Long dataId);
}
